package flow;

import org.apache.hadoop.io.NullWritable;
import org.apache.hadoop.mapreduce.Partitioner;

/**
 * 指定分区
 */
public class FlowPartitioner extends Partitioner<Flow, NullWritable> {
    @Override
    public int getPartition(Flow flow, NullWritable nullWritable, int i) {
        /**
         * 要求将结果输出到三个文件中---分区
         *    规则：总流量大于100小于5000的 输出到一个文件  0
         *          总流量大于5000小于10000的 输出到一个文件  1
         *          总流量大于10000的 输出到一个文件  2
         */
        int sum = flow.getSumFlow();
        if(sum > 100){
            if(sum < 5000){
                return 0;
            }else{
                if(sum < 10000){
                    return 1;
                }else {
                    return 2;
                }
            }
        }
        // <100则放到3分区
        return 3;
    }
}
